package com.itheima.reggie.utils;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;

/**
 * SMSUtils : 是我们上面改造的阿里云短信发送的工具类 ;
 * 短信发送工具类
 */
public class SMSUtils {

	/**
	 * 发送短信
	 * @param signName 签名
	 * @param templateCode 模板
	 * @param phoneNumbers 手机号
	 * @param param 参数
	 */
	public static void sendMessage(String signName,
								   String templateCode,
								   String phoneNumbers,
								   String param){
		DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI5tAF9QezVpDEoU5wpgMM", "0SWfrsYKVNNRZORxYoogPkXtesrSFr");
		IAcsClient client = new DefaultAcsClient(profile);

		SendSmsRequest request = new SendSmsRequest();
		request.setSysRegionId("cn-hangzhou");
		request.setPhoneNumbers(phoneNumbers);
		request.setSignName(signName);
		request.setTemplateCode(templateCode);
		request.setTemplateParam("{\"code\":\""+param+"\"}");
		try {
			SendSmsResponse response = client.getAcsResponse(request);
			System.out.println(response.getCode());
			System.out.println(response.getMessage());
			System.out.println(response.getBizId());
			if (response.getCode() != null && response.getCode().equals("OK")) {
				System.out.println("短信发送成功");
			}
		}catch (ClientException e) {
			e.printStackTrace();
		}
	}

	/**
	 *
	 * 签名：K品优购
	 *
	 * 模版1：
	 * 	模版类型:	短信通知
	 * 	模版名称:	体检预约成功通知模版
	 * 	模版CODE:	SMS_172010442
	 * 	模版内容:	您已成功预约健康体检，体检时间为${code}
	 * 	变量属性:	code-时间；
	 * 	申请说明:	体检预约成功通知短信
	 * 模版2：
	 * 	模版类型:	验证码
	 * 	模版名称:	传智健康短信验证码模版
	 * 	模版CODE:	SMS_172005349
	 * 	模版内容:	您的验证码为 ${code}，该验证码5分钟内有效，请勿泄露他人。
	 * 	申请说明:	用户手机快捷登录短信验证码
	 */
	public static void main(String[] args) {
		//验证码
		//SMSUtils.sendMessage("K品优购",
		//		"SMS_172005349",
		//		"156********", "999999");

		//通知短信
		//SMSUtils.sendMessage("K品优购",
		//		"SMS_172010442",
		//		"17737737066", "2021-10-31");

	}

}
